/**
 * elancom Corporation copy right 2012 - 2015  
 *   
 * $Header: https://192.168.1.224/svn/elancom/product/elancom-platform/trunk/src/main/java/com/elancom/framework/component/Output.java 1034 2012-07-02 03:09:12Z lanzhouxue $
 * $Id: Output.java 1034 2012-07-02 03:09:12Z lanzhouxue $
 * $Author: lanzhouxue $
 * $Date: 2012-07-02 11:09:12 +0800 (Mon, 02 Jul 2012) $
 * $Revision: 1034 $
 */
package com.elancom.framework.component;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @author elancom
 * @date Apr 28, 2012
 */
public interface Output extends Serializable {
	Output addError(Map<String, String> errorMap);

	Output addError(String key, String content);

	Output addError(String key, String content, int errorType);

	Output addMessage(String key, String msg);

	Output setParameter(String key, Object value);

	Output setParameter(Map<String, Object> paramMap);

	Error getError(String key);

	int getErrorCount();

	List<Error> getErrorList();

	Message getMessage(String key);

	List<Message> getMessageList();

	<T> T getParameter(String key);

	String getTrimString(String key);

	Map<String, Object> getParameters();

	boolean containsParameter(String key);

	boolean hasError();

	boolean hasMessage();

	<T> T removeParameter(String key);

}
